''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者：cacho_37967865
#博客：https://blog.csdn.net/sinat_37967865
#文件：PySnooper_model.py
#日期：2019-06-01
#备注：pip install pysnooper  “贫民版”调试工具——PySnooper  
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

import pysnooper
import random


#@pysnooper.snoop()                       # 只要添加一个装饰器
#@pysnooper.snoop(depth=2)                # 显示函数调用的函数的snoop行：
@pysnooper.snoop(prefix='ZZZ--> ')        # 运行日志前面显示ZZZ--> ，突出显示这个是运行日志
def number_to_bits(number):
    if number:
        bits = []
        while number:
            number, remainder = divmod(number, 2)
            bits.insert(0, remainder)
        return bits
    else:
        return [0]


# 跟踪核心代码+变量的运行（with ）
def foo():
    lst = []
    for i in range(10):
        lst.append(random.randrange(1, 1000))

    with pysnooper.snoop():
        lower = min(lst)
        upper = max(lst)
        mid = (lower + upper) / 2
        print(lower, mid, upper)


# 将函数运行的详细日志存储到日志
@pysnooper.snoop('./log/file.log')
def output():
    lst = []
    for i in range(10):
        lst.append(random.randrange(1, 1000))

if __name__ == "__main__":
    number_to_bits(6)
    foo()
    output()